Debian Notes
Table of Contents
Sudo
- Run suto become root
- Add the user to the sudogroup using the sudo command as root,sudo usermod -a -G sudo <USER>
- Exit the susession and logout and log back in
Wifi
- Debian Wiki: iwlwifi
- Edit your /etc/apt/sources.listto enablecontribandnon-freepackages
- Add then to the end of each line that begins with debordeb-src
deb http://deb.debian.org/debian bullseye main contrib non-free deb-src http://deb.debian.org/debian bullseye main contrib non-free deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb http://deb.debian.org/debian bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free
- Update your packages with sudo apt update
- Install iwlwifi,sudo apt install firmware-iwlwifi
- Become root with su
- Load the iwlwifimodule,sudo modprobe -r iwlwifi; modprobe iwlwifi
- This might also be a good time to install any needed non-free firmware for your hardware. For example intel graphics i915
- sudo apt install firmware-misc-nonfree
Bluetooth
- Once the non-freepackages are enabled you might need to installbluez-firmwareto be able to connect to some bluetooth devices
Caps Lock / Control
- To turn the caps lock key into control run this setxkbmapcommand when logging in,/usr/bin/setxkbmap -option "ctrl:nocaps"
Packages
sudo apt install \ mg \ build-essential \ git \ git-gui \ mosh \ tmux \ pass \ pass-extension-otp \ zbar-tools \ libgccjit-10-dev \ gcc-doc \ gcc-doc-base \ doc-base \ libjansson-dev \ libjansson-doc \ autoconf \ autoconf-doc \ texlive \ texlive-extra-utils \ texlive-latex-extra \ texi2html \ texinfo \ libgtk-3-dev \ libgtk-3-doc \ libxpm-dev \ libjpeg-dev \ gnutls-bin \ gnutls-doc \ libtiff-dev \ libtiff-doc \ libgif-dev \ libgnutls28-dev \ libncurses-dev \ imagemagick \ imagemagick-doc \ htop \ ncdu \ fonts-hack-ttf \ syncthing \ vlc \ mpv \ nethack-console \ ledger \ fonts-noto-cjk \ fonts-noto-cjk-extra \ fonts-noto-color-emoji \ fonts-noto-core \ fonts-noto-extra \ evince \ libssl-dev \ libssl-doc \ libsasl2-dev \ libdb-dev \ db-util \ libdb5.3 \ db5.3-doc \ libxapian-dev \ libgmime-3.0-dev \ libtalloc-dev \ zlib1g-dev \ clisp \ clisp-doc \ libsdl2-dev \ libsdl2-doc \ libusb-1.0-0-dev \ pkg-config \ openttd \ openttd-data \ openttd-opengfx \ openttd-openmsx \ openttd-opensfx \ fzf \ crispy-doom \ frotz \ libfreetype6 \ libopenal1 \ liblua5.1-0 \ abcde \ beets \ beets-doc \ inkscape \ curl \ ayatana-indicator-bluetooth \ picocom \ rsync \ default-jre \ graphviz \ info \ sbcl \ sbcl-doc \ gimp \ gimp-help-en \ libxml2-dev \ libgtk2.0-dev \ iperf3 \ python3-pip \ flac \ libmagickwand-dev \ guile-3.0 \ guile-3.0-dev \ simplescreenrecorder \ gnuplot
Installing .deb files
- You can use aptto installdebfiles.
- This has the added benefit of getting the dependencies
- sudo apt install ./<PACKAGE>.deb
Setting default python version
- Michls Tech Blog: Debian: set python3 default
- Using update-alternativeswe set the default- sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
 
Suspending when closing the laptop lid
- Debian Wiki: Systemd Suspend Sedation
- Edit /etc/systemd/logind.conf
- Find the lines with HandleLidSwitchand ensure that they are set toSuspend
- Restart the login service with sudo systemctl restart systemd-logind
- When using XFCE4 this can be handled in the power management settings
Syncthing
- Start syncthing as a user service systemctl enable --now syncthing.service --user
- The syncthing web ui is normally accessed on port 8384
Isync
- Clone the isyncrepo,git clone https://git.code.sf.net/p/isync/isync isync
- Inside the isynccode run./autogen.sh
- Run ./configureto create theMakefile
- Then run makeandmake install
Notmuch
- Download the latest source release of notmuchfrom their release page, https://notmuchmail.org/releases/
- Run ./configureto create theMakefile
- Then run makeandmake install
EDuke32
- EDukeWiki: Building EDuke32 on Linux
- Clone the latest code here, git clone https://voidpoint.io/terminx/eduke32.git
- Ensure the dependencies are installed, sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libsdl2-dev libsdl2-mixer-dev flac libflac-dev libvorbis-dev libvpx-dev libgtk2.0-dev freepats
- Run maketo buildEDuke32
- This produces eduke32andmapster32binaries, place them in your path somewhere
Adding User to uucp group
- sudo usermod -a -G uucp <USER>
OpenRA
- Clone the latest code here, git clone =https://github.com/OpenRA/OpenRA
- Install the dependencies, sudo apt install libfreetype6 libopenal1 liblua5.1-0 libsdl2-2.0-0
- Download .NET 6.0 from Microsoft, https://docs.microsoft.com/en-us/dotnet/core/install/linux-debian#debian-11
- Make sure you set the environment variable, DOTNET_CLI_TELEMETRY_OPTOUT=1since it is opt out telemetry
 
- Make sure you set the environment variable, 
- Compile the program with make
- The game content should go in the ~/.config/openra/Contentfolder
- To launch the game you need to use the launch-game.shscript inside the repo
- When starting the game you need to specify the "mod" either cnc,raord2k- For example, from inside the repo dir, ./launch-game.sh Game.Mod=ra
 
- For example, from inside the repo dir, 
Building Emacs
- clone emacs from savannah git clone -b master git://git.sv.gnu.org/emacs.git
- Releases are usually in a branch with the version number, for example emacs-28
- Run the ./autogen.shto build the configure script
- The below command shows the configure flags I like for Emacs
./configure --with-native-compilation \ --with-json \ --with-rsvg \ --with-imagemagick
- This will warn you about any missing dependencies, from there you should obtain them for your OS
- Build emacs with make -j <NUMBER_OF_CPU_CORES+1>
- Run make installwith appropriate permissions to install the new version on the system
- Use M-x emacs-version RETto see the current version info, including the build date